home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / gawk / gawk2-~1.zoo / gawk_st / NEWS < prev    next >
Encoding:
Text File  |  1994-05-23  |  9.5 KB  |  311 lines

  1. Changes from 2.15.4 to 2.15.5
  2. -----------------------------
  3.  
  4. FUTURES file updated and re-arranged some with more rational schedule.
  5.  
  6. Many prototypes handled better for ANSI C in protos.h.
  7.  
  8. getopt.c updated somewhat.
  9.  
  10. test/Makefile now removes junk directory, `bardargtest' renamed `badargs.'
  11.  
  12. Bug fix in iop.c for RS = "". Eat trailing newlines off of record separator.
  13.  
  14. Bug fix in Makefile.bsd44, use leading tab in actions.
  15.  
  16. Fix in field.c:set_FS for FS == "\\" and IGNORECASE != 0.
  17.  
  18. Config files updated or added:
  19.     cray60, DEC OSF/1 2.0, Utek, sgi405, next21, next30, atari/config.h,
  20.     sco.
  21.  
  22. Fix in io.c for ENFILE as well as EMFILE, update decl of groupset to
  23. include OSF/1.
  24.  
  25. Rationalized printing as integers if numbers are outside the range of a long.
  26. Changes to node.c:force_string and builtin.c.
  27.  
  28. Made internal NF, NR, and FNR variables longs instead of ints.
  29.  
  30. Add LIMITS_H_MISSING stuff to config.in and awk.h, and default defs for
  31. INT_MAX and LONG_MAX, if no limits.h file. Add a standard decl of
  32. the time() function for __STDC__. From ghazi@noc.rutgers.edu.
  33.  
  34. Fix tree_eval in awk.h and r_tree_eval in eval.c to deal better with
  35. function parameters, particularly ones that are arrays.
  36.  
  37. Fix eval.c to print out array names of arrays used in scalar contexts.
  38.  
  39. Fix eval.c in interpret to zero out source and sourceline initially. This
  40. does a better job of providing source file and line number information.
  41.  
  42. Fix to re_parse_field in field.c to not use isspace when RS = "", but rather
  43. to explicitly look for blank and tab.
  44.  
  45. Fix to sc_parse_field in field.c to catch the case of the FS character at the
  46. end of a record.
  47.  
  48. Lots of miscellanious bug fixes for memory leaks, courtesy Mark Moraes,
  49. also fixes for arrays.
  50.  
  51. io.c fixed to warn about lack of explicit closes if --lint.
  52.  
  53. Updated missing/strftime.c to match posted strftime 6.2.
  54.  
  55. Bug fix in builtin.c, in case of non-match in sub_common.
  56.  
  57. Updated constant used for division in builtin.c:do_rand for DEC Alpha
  58. and CRAY Y-MP.
  59.  
  60. POSIXLY_CORRECT in the environment turns on --posix (fixed in main.c).
  61.  
  62. Updated srandom prototype and calls in builtin.c.
  63.  
  64. Fix awk.y to enforce posix semantics of unary +: result is numeric.
  65.  
  66. Fix array.c to not rearrange the hash chain upon finding an index in
  67. the array.  This messed things up in cases like:
  68.     for (index1 in array) {
  69.         blah
  70.         if (index2 in array)    # blew away the for
  71.             stuff
  72.     }
  73.  
  74. Fixed spelling errors in the man page.
  75.  
  76. Fixes in awk.y so that
  77.     gawk '' /path/to/file
  78. will work without core dumping or finding parse errors.
  79.  
  80. Fix main.c so that --lint will fuss about an empty program.
  81. Yet another fix for argument parsing in the case of unrecognized options.
  82.  
  83. Bug fix in dfa.c to not attempt to free null pointers.
  84.  
  85. Bug fix in builtin.c to only use DEFAULT_G_PRECISION for %g or %G.
  86.  
  87. Bug fix in field.c to achieve call by value semantics for split.
  88.  
  89. Changes from 2.15.3 to 2.15.4
  90. -----------------------------
  91.  
  92. Lots of lint fixes, and do_sprintf made mostly ANSI C compatible.
  93.  
  94. Man page updated and edited.
  95.  
  96. Copyrights updated.
  97.  
  98. Arrays now grow dynamically, initially scaling up by an order of magnitude
  99.   and then doubling, up to ~ 64K.  This should keep gawk's performance
  100.   graceful under heavy load.
  101.  
  102. New `delete array' feature added.  Only documented in the man page.
  103.  
  104. Switched to dfa and regex suites from grep-2.0. These offer the ability to
  105.   move to POSIX regexps in the next release.
  106.  
  107. Disabled GNU regex ops.
  108.  
  109. Research awk -m option now recognized. It does nothing in gawk, since gawk
  110.   has no static limits.  Only documented in the man page.
  111.  
  112. New bionic (faster, better, stronger than before) hashing function.
  113.  
  114. Bug fix in argument handling. `gawk -X' now notices there was no program.
  115.   Additional bug fixes to make --compat and --lint work again.
  116.  
  117. Many changes for systems where sizeof(int) != sizeof(void *).
  118.  
  119. Add explicit alloca(0) in io.c to recover space from C alloca.
  120.  
  121. Fixed file descriptor leak in io.c.
  122.  
  123. The --version option now follows the GNU coding standards and exits.
  124.  
  125. Fixed several prototypes in protos.h.
  126.  
  127. Several tests updated. On Solaris, warn that the out? tests will fail.
  128.  
  129. Configuration files for SunOS with cc and Solaris 2.x added.
  130.  
  131. Improved error messages in awk.y on gawk extensions if do_unix or do_compat.
  132.  
  133. INSTALL file added.
  134.  
  135. Fixed Atari Makefile and several VMS specific changes.
  136.  
  137. Better conversion of numbers to strings on systems with broken sprintfs.
  138.  
  139. Changes from 2.15.2 to 2.15.3
  140. -----------------------------
  141.  
  142. Increased HASHSIZE to a decent number, 127 was way too small.
  143.  
  144. FILENAME is now the null string in a BEGIN rule.
  145.  
  146. Argument processing fixed for invalid options and missing arguments.
  147.  
  148. This version will build on VMS.  This included a fix to close all files
  149.    and pipes opened with redirections before closing stdout and stderr.
  150.  
  151. More getpgrp() defines.
  152.  
  153. Changes for BSD44:  <sys/param.h> in io.c and Makefile.bsd44.
  154.  
  155. All directories in the distribution are now writable.
  156.  
  157. Separated LDFLAGS and CFLAGS in Makefile.  CFLAGS can now be overridden by
  158.   user.
  159.  
  160. Make dist now builds compressed archives ending in .gz and runs doschk.
  161.  
  162. Amiga port.
  163.  
  164. New getopt.c fixes Alpha OSF/1 problem.
  165.  
  166. Make clean now removes possible test output.
  167.  
  168. Improved algorithm for multiple adjacent string concatenations leads to
  169.   performance improvements.
  170.  
  171. Fix nasty bug whereby command-line assignments, both with -v and at run time,
  172.    could create variables with syntactically illegal names.
  173.  
  174. Fix obscure bug in printf with %0 flag and filling.
  175.  
  176. Add a lint check for substr if provided length exceeds remaining characters
  177.    in string.
  178.  
  179. Update atari support.
  180.  
  181. PC support enhanced to include support for both DOS and OS/2. (Lots more
  182.    #ifdefs. Sigh.)
  183.  
  184. Config files for Hitachi Unix and OSF/1, courtesy of Yoko Morishita
  185.    (morisita@sra.co.jp)
  186.  
  187. Changes from 2.15.1 to 2.15.2
  188. -----------------------------
  189.  
  190. Additions to the FUTURES file.
  191.  
  192. Document undefined order of output when using both standard output
  193.   and /dev/stdout or any of the /dev output files that gawk emulates in
  194.   the absence of OS support.
  195.  
  196. Clean up the distribution generation in Makefile.in:  the info files are
  197.   now included, the distributed files are marked read-only and patched
  198.   distributions are now unpacked in a directory named with the patch level.
  199.  
  200. Changes from 2.15 to 2.15.1
  201. ---------------------------
  202.  
  203. Close stdout and stderr before all redirections on program exit.  This allows
  204.   detection of write errors and also fixes the messages test on Solaris 2.x.
  205.  
  206. Removed YYMAXDEPTH define in awk.y which was limiting the parser stack depth.
  207.  
  208. Changes to config/bsd44, Makefile.bsd44 and configure to bring it into line
  209.   with the BSD4.4 release.
  210.  
  211. Changed Makefile to use prefix, exec_prefix, bindir etc.
  212.  
  213. make install now installs info files.
  214.  
  215. make install now sets permissions on installed files.
  216.  
  217. Make targets added:  uninstall, distclean, mostlyclean and realclean.
  218.  
  219. Added config.h to cleaner and clobber make targets.
  220.  
  221. Changes to config/{hpux8x,sysv3,sysv4,ultrix41} to deal with alloca().
  222.  
  223. Change to getopt.h for portability.
  224.  
  225. Added more special cases to the getpgrp() call.
  226.  
  227. Added README.ibmrt-aos and config/ibmrt-aos.
  228.  
  229. Changes from 2.14 to 2.15
  230. ---------------------------
  231.  
  232. Command-line source can now be mixed with library functions.
  233.  
  234. ARGIND variable tracks index in ARGV of FILENAME.
  235.  
  236. GNU style long options in addition to short options.
  237.  
  238. Plan 9 style special files interpreted by gawk:
  239.         /dev/pid
  240.         /dev/ppid
  241.         /dev/pgrpid
  242.         /dev/user
  243.                 $1 = getuid
  244.                 $2 = geteuid
  245.                 $3 = getgid
  246.                 $4 = getegid
  247.                 $5 ... $NF = getgroups if supported
  248.  
  249. ERRNO variable contains error string if getline or close fails.
  250.  
  251. Very old options -a and -e have gone away.
  252.  
  253. Inftest has been removed from the default target in test/Makefile -- the
  254.   results were too machine specific and resulted in too many false alarms.
  255.  
  256. A README.amiga has been added.
  257.  
  258. The "too many arguments supplied for format string" warning message is only
  259.   in effect under the lint option.
  260.  
  261. Code improvements in dfa.c.
  262.  
  263. Fixed all reported bugs:
  264.  
  265.     Writes are checked for failure (such as full filesystem).
  266.  
  267.     Stopped (at least some) runaway error messages.
  268.  
  269.     gsub(/^/, "x") does the right thing for $0 of 0, 1, or more length.
  270.  
  271.     close() on a command being piped to a getline now works properly.
  272.  
  273.     The input record will no longer be freed upon an explicit close()
  274.     of the input file.
  275.  
  276.     A NUL character in FS now works.
  277.  
  278.     In a substitute, \\& now means a literal backslash followed by what
  279.     was matched.
  280.  
  281.     Integer overflow of substring length in substr() is caught.
  282.  
  283.     An input record without a newline termination is handled properly.
  284.  
  285.     In io.c, check is against only EMFILE so that system file table
  286.       is not filled.
  287.  
  288.     Renamed all files with names longer than 14 characters.
  289.  
  290.     Escaped characters in regular expressions were being lost when 
  291.       IGNORECASE was used.
  292.  
  293.     Long source lines were not being handled properly.
  294.  
  295.     Sourcefiles that ended in a tab but no newline were bombing.
  296.  
  297.     Patterns that could match zero characters in split() were not working
  298.       properly.
  299.  
  300.     The parsedebug option was not working.
  301.  
  302.     The grammar was being a bit too lenient, allowing some very dubious
  303.       programs to pass.
  304.  
  305.     Compilation with DEBUG defined now works.
  306.  
  307.     A variable read in with getline was not being treated as a potential
  308.       number.
  309.  
  310.     Array subscripts were not always of string type.
  311.